// #include "btn_task.h"
#include "cbb_init.h"
#include "button.h"

#include "myboard.h"

#include "FreeRTOS.h"
#include "task.h"

void btn_task_run(void* pvArgs){

    (void) pvArgs;

    while(1){
        button_monitor(pstBtnMode);
        button_monitor(pstBtnUpgrade);

        // 处理事件
        cbb_event_monitor(pstEventBtnMode);
        cbb_event_monitor(pstEventBtnUpgrade);

        vTaskDelay(pdMS_TO_TICKS(20));
    }
}

void btn_task_init(void){

    static StaticTask_t stBtnTaskTCB;
    static StackType_t  BtnTaskStack[configMINIMAL_STACK_SIZE];
    static TaskHandle_t  xBtnTaskHandle = NULL;
    (void) xBtnTaskHandle;

    // BTN任务创建
    xBtnTaskHandle =
    xTaskCreateStatic(
        btn_task_run,                   /* 任务函数 */
        "BtnTask",                          /* 名字 */
        configMINIMAL_STACK_SIZE,      /* 栈深度（字） */
        NULL,                           /* 参数 */
        tskIDLE_PRIORITY + 2,               /* 优先级 */
        BtnTaskStack,                   /* 静态栈数组 */
        &stBtnTaskTCB);                 /* 静态 TCB 变量 */
}
INIT_PORT_TASK(btn_task_init);
